From: Florian Müllner Date: Mon, 21 Oct 2024 00:33:33 +0000 (+0200) Subject: build: Do not require appstream-util for metainfo version check X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~185^2^2~18 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=09f1dd696a91a9dd9dfe7119f0d869f3f10709af;p=gnome-shell.git build: Do not require appstream-util for metainfo version check appstream-util is deprecated in favor of appstreamcli. The new tool does not have a `validate-version` command, so implement the check in directly in the check-version.py script. Part-of: (cherry picked from commit 7405f7c360dad7f50511f3d71a30e16b849dd1cc) --- diff --git a/meson/check-version.py b/meson/check-version.py index 81750c990..c24ab41b4 100755 --- a/meson/check-version.py +++ b/meson/check-version.py @@ -2,7 +2,8 @@ import os, sys from pathlib import Path -import argparse, subprocess +from xml.etree.ElementTree import ElementTree +import argparse def check_version(version, file, type='news'): if type == 'news': @@ -12,8 +13,11 @@ def check_version(version, file, type='news'): if not ok: raise Exception("{} does not start with {}".format(file, version)) elif type == 'metainfo': - subprocess.run(['appstream-util', 'validate-version', file, version], - check=True) + query = './releases/release[@version="{}"]'.format(version) + ok = ElementTree(file=file).find(query) is not None + print("{}: {}".format(file, "OK" if ok else "FAILED")) + if not ok: + raise Exception("{} does not contain release {}".format(file, version)) else: raise Exception('Not implemented') diff --git a/subprojects/extensions-app/meson.build b/subprojects/extensions-app/meson.build index 1ddd31a83..0f5ace7b6 100644 --- a/subprojects/extensions-app/meson.build +++ b/subprojects/extensions-app/meson.build @@ -69,12 +69,10 @@ if not meson.is_subproject() gtk_update_icon_cache: true ) - if appstream_util.found() - meson.add_dist_script('build-aux/meson/check-version.py', - meson.project_version(), - '--type=metainfo', - 'data/metainfo/org.gnome.Extensions.metainfo.xml.in') - endif + meson.add_dist_script('build-aux/meson/check-version.py', + meson.project_version(), + '--type=metainfo', + 'data/metainfo/org.gnome.Extensions.metainfo.xml.in') summary_dirs = { 'prefix': get_option('prefix'),